Debounce와 Throttling
❓질문
디바운스와 쓰로틀에 대해서 각각 설명해주세요.
💡 조사하기전 내가 알고 있던 내용
먼저 두 기법 모두 이벤트 등이 한번이 아니라 여러번 실행 됐을때 쓰는 최적화 기법이며
디바운스 같은 경우에는 이벤트가 들어오게되면 바로바로 실행 시키는것이 아닌 조금 기다렸다가 이벤트가 동작하는 방식입니다
검색창에 단어를 적으면 추천 검색어가 뜨는 검색창을 만든다고햇을떄
ㅅ ㅏ ㄱ ㅗ ㅏ 를 입력시
사로 시작하는 추천어가 보이고 삭으로 시작하는 추천어가 보이고 사고로 시작하는 추천어가 보일겁니다 이렇게 불필요한 이벤트가 여러번 발생하고 로직이 동작하게되면 자연스럽게 가해지는 부하가 커질겁니다
이때 디바운스 기법을 활용하게되면 사과를 입력하고 나서야 조금뒤 사과에 대한 키워드를 가져오는 로직이 동작하게 되는것이죠
쓰로틀은 여러번 이벤트가 들어오게되면 처음 혹은 마지막 이벤트만 실행 시키는 동작 방식입니다
한번만 클릭하여 이벤트를 동작 시킬수잇는 버튼이있다 치고 이 버튼을 연타했을때 처음 동작만 로직을 동작시키게하고 일정 시간동안은 로직이 실행 되지않게 하면 불필요한 이벤트 동작이나 추가 로직 구현을 막을수있게됩니다.
🏫 정리한 내용
위 내용과 동일